The present disclosure relates generally to information handling systems, and more particularly to a basic input/output system (BIOS) field mapping for an information handling system.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option is an information handling system (IHS). An IHS generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes. Because technology and information handling needs and requirements may vary between different applications, IHSs may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in IHSs allow for IHSs to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, IHSs may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Upon startup of an IHS a BIOS generally controls early operations of the IHS (e.g., before an operating system takes control of the IHS). The BIOS is generally expected to provide a BIOS setup system that can be used to configure options for how the system performs and how it is to be configured. Devices can be turned on and off, different configurations can be selected, security of the system can be setup and more. What is known as a Unified Extensible Firmware Interface (UEFI) BIOS is a newer form of BIOS implementation that is comprised of UEFI BIOS drivers.
The BIOS may ensure that the data associated with setup and other UEFI BIOS drivers cannot be changed except in an authorized fashion. This leads to security concerns which become an issue when using a programming language called visual forms representation (VFR) and storing setup data in the system configuration file. The VFR programming language only allows access to data stored through a Variable Services protocol. Thus, the VFR programming language only allows a developer to define a structure and field that can only be accessed through the Variable Services protocol. By default there is no way to specify what data storing protocol to use. As such, the default implementation of how to do this is to use a monolithic system configuration structure to define all of the setup variables. Thus, the setup options are added to a very large data structure. One problem with this is that variable services is a runtime service that exposes its interface to the IHS operating system and other code running on the IHS. This potentially exposes all of the variable services data to any executing code in the operating system and thus, may allow unauthorized access to the data.
Accordingly, it would be desirable to provide an improved BIOS field mapping of data to secure the data.